package model;

import java.io.Serializable;
import java.util.Map;
import java.util.Set;

public interface ICodeWords extends Serializable {

	// REQUETES
	
	boolean contains(String word);
	
	Set<String> getPrefixSet();
	
	Set<String> getSuffixSet();
	
	Set<String> getContentSet();
	
	String getTranslation(String word);
	
	Map<String, String> getTranslations(Set<String> words);
	
	Map<String, String> getAllTranslations();
	
	boolean isUniquelyDecodable();
	
	boolean isEmpty();
	
	// COMMANDES
	void addWord(String word, String decodedWord);
	
	void removeWord(String word);
	
	void addWords(Map<String, String> code);
	
	void removeWords(Set<String> words);
	
	void clear();
	
}
